﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BusinessEntityLayer.Resultado;
using DataAccessLayer.Globales;

namespace BusinessLogicLayer.Global
{
    public class SrvGlobal
    {
        DAOGlobal VL_DAOGlobal = new DAOGlobal();

        public BeanResultado.ResultadoSelect Fnc_Listar_Empresas()
        {
            return VL_DAOGlobal.Fnc_Listar_Empresas();
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_ObrasEmpresa(String VL_EMPR_CODIGO)
        {
            return VL_DAOGlobal.Fnc_Listar_ObrasEmpresa(VL_EMPR_CODIGO);
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_UnidadMedida()
        {
            return VL_DAOGlobal.Fnc_Listar_UnidadMedida();
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_AlmacenEmpresa(String VL_EMPR_CODIGO)
        {
            return VL_DAOGlobal.Fnc_Listar_AlmacenEmpresa(VL_EMPR_CODIGO);
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_Categorias_Contables()
        {
            return VL_DAOGlobal.Fnc_Listar_Categorias_Contables();
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_Consulta_RUC(String VL_EMPR_CODIGO)
        {
            return VL_DAOGlobal.Fnc_Listar_Consulta_RUC(VL_EMPR_CODIGO);
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_Movimientos_Ingresos()
        {
            return VL_DAOGlobal.Fnc_Listar_Movimientos_Ingresos();
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_Movimientos_Salidas()
        {
            return VL_DAOGlobal.Fnc_Listar_Movimientos_Salidas();
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_AlmacenxTipoExistencia(String VL_EMPR_CODIGO, String VL_ANIO, String VL_MES)
        {
            return VL_DAOGlobal.Fnc_Listar_AlmacenxTipoExistencia(VL_EMPR_CODIGO, VL_ANIO, VL_MES);
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_MaterialesEmpresa(String VL_EMPR_CODIGO, String VL_ALM_CODIGO, String VL_ANIO, String VL_MES, String VL_CODIGO, Int32 VL_OPCION)
        {
            return VL_DAOGlobal.Fnc_Listar_MaterialesEmpresa(VL_EMPR_CODIGO, VL_ALM_CODIGO, VL_ANIO, VL_MES, VL_CODIGO, VL_OPCION);
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_TipoExistencia()
        {
            return VL_DAOGlobal.Fnc_Listar_TipoExistencia();
        }

        public BeanResultado.ResultadoSelect Fnc_Listar_Materiales(Int32 VL_OPCION, String VL_EMPRCODIGO, String VL_PROCODIGOBARRASEXT, String VL_CODI_CONTABLE)
        {
            return VL_DAOGlobal.Fnc_Listar_Materiales(VL_OPCION, VL_EMPRCODIGO, VL_PROCODIGOBARRASEXT, VL_CODI_CONTABLE);
        }

        //Reportes

        public BeanResultado.ResultadoSelect Fnc_ReporteOrdenDeCompraGeneral(String VL_EMPRCODIGO, String VL_CCOSCODIGO, String VL_FECHA_INI, String VL_FECHA_FIN, String VL_PRVCODIGO, String VL_MATERIAL, String VL_UMDCODIGO)
        {
            return VL_DAOGlobal.Fnc_ReporteOrdenDeCompraGeneral(VL_EMPRCODIGO, VL_CCOSCODIGO, VL_FECHA_INI, VL_FECHA_FIN, VL_PRVCODIGO, VL_MATERIAL, VL_UMDCODIGO);
        }

        public BeanResultado.ResultadoSelect Fnc_ReporteContabilidadStock(String VL_EMPRCODIGO, String VL_ALMCODIGO, String VL_FECHA_FIN, int VL_ORDEN, String VL_CODI_CONTABLE)
        {
            return VL_DAOGlobal.Fnc_ReporteContabilidadStock(VL_EMPRCODIGO, VL_ALMCODIGO, VL_FECHA_FIN, VL_ORDEN, VL_CODI_CONTABLE);
        }

        public BeanResultado.ResultadoSelect Fnc_ReporteContabilidadStockResumen(String VL_EMPRCODIGO, String VL_ALMCODIGO, String VL_FECHA_INICIO, String VL_FECHA_FIN, String VL_CODI_CONTABLE)
        {
            return VL_DAOGlobal.Fnc_ReporteContabilidadStockResumen(VL_EMPRCODIGO, VL_ALMCODIGO, VL_FECHA_INICIO, VL_FECHA_FIN, VL_CODI_CONTABLE);
        }

        public BeanResultado.ResultadoSelect Fnc_ReporteAlmacenRequerimientoFaltante(String VL_EMPRCODIGO, String VL_CCOSTO, String VL_REQCODIGO, String VL_PDODESCRIPCION)
        {
            return VL_DAOGlobal.Fnc_ReporteAlmacenRequerimientoFaltante(VL_EMPRCODIGO, VL_CCOSTO,VL_PDODESCRIPCION, VL_REQCODIGO);
        }

        // PERMisos

        public BeanResultado.ResultadoSelect Fnc_Listar_Permisos(string VL_USUCODIGO, String VL_USUPASSWORD)
        {
            return VL_DAOGlobal.Fnc_Listar_Permisos(VL_USUCODIGO, VL_USUPASSWORD);
        }

        //ALMACEN KARDEX

        public BeanResultado.ResultadoSelect Fnc_Almacen_Kardex(String VL_EMPRCODIGO, String VL_ALMCODIGO, String VL_PROCODIGOBARRASEXT, String VL_FECHA)
        {
            return VL_DAOGlobal.Fnc_Almacen_Kardex(VL_EMPRCODIGO, VL_ALMCODIGO, VL_PROCODIGOBARRASEXT, VL_FECHA);
        }

        // REPORTE - ALMACEN INGRESOS

        public BeanResultado.ResultadoSelect Fnc_Reporte_Almacen_Ingresos(String VL_EMPRCODIGO, String VL_DESTINO, String VL_MOVCODIGO, String VL_CODI_CONTABLE, String VL_PRVRAZONSOCIAL, String VL_FECHA_INICIO, String VL_FECHA_FIN)
        {
            return VL_DAOGlobal.Fnc_Reporte_Almacen_Ingresos(VL_EMPRCODIGO, VL_DESTINO, VL_MOVCODIGO, VL_CODI_CONTABLE, VL_PRVRAZONSOCIAL, VL_FECHA_INICIO, VL_FECHA_FIN);
        }

        // REPORTE - ALMACEN SALIDAS

        public BeanResultado.ResultadoSelect Fnc_Reporte_Almacen_Salidas(String VL_EMPRCODIGO, String VL_ORIGEN, String VL_MOVCODIGO, String VL_CODI_CONTABLE, String VL_FECHA_INICIO, String VL_FECHA_FIN)
        {
            return VL_DAOGlobal.Fnc_Reporte_Almacen_Salidas(VL_EMPRCODIGO, VL_ORIGEN, VL_MOVCODIGO, VL_CODI_CONTABLE, VL_FECHA_INICIO, VL_FECHA_FIN);
        }

    }
}
